package crm.model;

import java.io.Serializable;

@SuppressWarnings({ "rawtypes", "serial" })
public class Cliente extends Persona implements Comparable, Serializable
{
    private double compras; //Valor total de las compras realizadas por el cliente
    private StringBuffer log;//Almacena el log de todos los articulos comprados por el cliente en toda su historia.
    private String email;
    private ManejadorDeCalendarios date;
    
    public Cliente(String nombre, String cell_phone, int ID, String direccion, String fecha_nacimiento,String email)
    {
        super(nombre,cell_phone,ID,direccion,fecha_nacimiento);
        this.email = email;
        compras=0;
        log = new StringBuffer();
    }
    
    //METDOS MUTADORES
    /**
     * Modifica la direccion de correo electronico del cliente
     * @param email 
     */
    public void setEmail(String email)
    {
        this.email = email;
    }
    
    //METODOS DE ACCIONES
    public void compro(String articulo,double precio)
    {
        date = new ManejadorDeCalendarios();
        log.append("Fecha"+date.getDate()+"---> "+articulo+"\n");
    }
    
    
    /**
     * Una implementacion del metodo compareTo
     *  // Indica en base a que atributos se compara el objeto
 		// Devuelve +1 si this es > que objeto
 		// Devuelve -1 si this es < que objeto
 		// Devuelve 0 si son iguales
     */
    public int compareTo(Object objeto)
    {
    	Cliente cliente = (Cliente)objeto;
    	if(cliente.getID() == this.getID())
    	{
    		return 0;
    	}else if(this.getID() > cliente.getID())
    	{
    		return 1;
    	}else 
    		return -1;
    }
    
    public String toString()
    {
    	StringBuffer buff = new StringBuffer();
    	buff.append("Nombre:: "+this.nombre()+"\n");
    	buff.append("Telefono:: "+this.getCellPhone()+"\n");
    	return buff.toString();
    }

}